package comandos;

import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;

/**
 * Trabalho DAS - 2014/2015
 *
 * @author a21210380, a21190325, a21210392
 */
public interface IGestorComandos {

    public void executeComando(IComando c);

    public void undo();

    public void redo();
    
    public boolean isUndoEmpty();
    
    public boolean isRedoEmpty();

    public void clearUndoList();

    public void clearRedoList();

    public void clearAll();
    
    public void addUndoListener(ListChangeListener<IComando> listener);
    
    public void addRedoListener(ListChangeListener<IComando> listener);
    
    public ObservableList<IComando> getUndoList();
}
